/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.Ufes.exeSwing.Collection;

import edu.Ufes.exeSwing.Model.PessoaJuridica;
import edu.Ufes.exeSwing.Persistence.PessoaJuridicaPersistence;
import java.util.Iterator;
import java.util.TreeSet;

/**
 *
 * @author bhetynnacatalunha
 */
public class PessoaJuridicaCollection {
    PessoaJuridicaPersistence pessoaJuridicaPersistence;

    public PessoaJuridicaCollection(PessoaJuridicaPersistence pPessoaJuridicaPersistence) {
        this.pessoaJuridicaPersistence = pPessoaJuridicaPersistence;
    }

    public void incluirPessoaJuridica(PessoaJuridica pPessoaJuridica) {
        TreeSet<PessoaJuridica> pessoasJuridicas;
        pessoasJuridicas = pessoaJuridicaPersistence.recuperarPessoasJuridicas();
        pessoasJuridicas.add(pPessoaJuridica);
        pessoaJuridicaPersistence.salvarPessoaJuridica(pessoasJuridicas);
    }

    public void excluirpPessoaJuridica(PessoaJuridica pPessoaJuridica) {
        TreeSet<PessoaJuridica> pessoasJuridicas;
        pessoasJuridicas = pessoaJuridicaPersistence.recuperarPessoasJuridicas();
        pessoasJuridicas.remove(pPessoaJuridica);
        pessoaJuridicaPersistence.salvarPessoaJuridica(pessoasJuridicas);

    }

    public PessoaJuridica getUmPessoaJuridica(String pCNPJ) {
        PessoaJuridica retorno = null;
        PessoaJuridica pessoaJuridica;
        TreeSet<PessoaJuridica> pessoasJuridicas;
        pessoasJuridicas = pessoaJuridicaPersistence.recuperarPessoasJuridicas();
        Iterator<PessoaJuridica> itPessoasJuridicas = pessoasJuridicas.iterator();
        while (itPessoasJuridicas.hasNext()) {
            pessoaJuridica = itPessoasJuridicas.next();
            if (pessoaJuridica.getCNPJ().equals(pCNPJ)) {
                retorno = pessoaJuridica;
            }
        }
        return retorno;
    }

    public TreeSet<PessoaJuridica> getTodasPessoasJuridicas() {
        TreeSet<PessoaJuridica> pessoasJuridicas = pessoaJuridicaPersistence.recuperarPessoasJuridicas();
        return pessoasJuridicas;
    }
}
